Nas funções CheckInterceptions e SetSpellTarget o final delas ta com 'end' colado no return. a CheckInterceptions ta 'return toPosend' e a SetSpellTarget está 'return varend'.
- Forums
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- [Spells] Checando Interferências na Trajetória
[Spells] Checando Interferências na Trajetória
By Skulls, 14 de fev. de 2016 in Globalevents e Spells
info
Group: Visconde
Joined: 26/08/10
Posts: 431
Reputation: +60
Gender: Masculino
Tibia Character: Gabriel Rookgaardian

info
Group: Herói
Joined: 25/02/07
Posts: 859
Reputation: +331
Gender: Masculino

Nas funções CheckInterceptions e SetSpellTarget o final delas ta com 'end' colado no return. a CheckInterceptions ta 'return toPosend' e a SetSpellTarget está 'return varend'.
Arrumado, obrigado.
info
Group: Visconde
Joined: 01/07/15
Posts: 416
Reputation: +206
Gender: Masculino
Tibia Character: Bluester

bem que o @Daniel poderia habilitar REP pelo celular.
Muito bom o conteúdo. ![]()
info
Group: Herói
Joined: 25/02/07
Posts: 859
Reputation: +331
Gender: Masculino

bem que o @Daniel poderia habilitar REP pelo celular.
Muito bom o conteúdo.
Obrigado! Da pra dar rep pelo cel, só colocar na versão completa la embaixo ^^ hahaha
info
Group: Visconde
Joined: 01/07/15
Posts: 416
Reputation: +206
Gender: Masculino
Tibia Character: Bluester

3g não ajudaObrigado! Da pra dar rep pelo cel, só colocar na versão completa la embaixo ^^ hahaha
info
Group: Herói
Joined: 25/02/07
Posts: 859
Reputation: +331
Gender: Masculino

3g não ajuda
O que vale é a intenção! hahaha valeu!
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
info
Group: Conde
Joined: 07/04/15
Posts: 962
Reputation: +258
Gender: Masculino

Parabéns pelo belo sistema.
info
Group: Herói
Joined: 25/02/07
Posts: 859
Reputation: +331
Gender: Masculino

ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
Obrigado wolf, não teria conseguido sem você! ![]()
Parabéns pelo belo sistema.
Valeu!
Adicionado um exemplo de uso.
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

Muito bom skulls, essa função pode ajudar até em fazer um getCreaturePathTo(...) por lua...
Script muito bom.
ficou realmente muito bom, meus parabéns. Você botou na cabeça que queria fazer e foi atrás de conseguir. O resultado veio com o esforço, obrigado por me citar e por contribuir ainda mais com a comunidade do Open Tibia. Abraços meu amigo.
Edited Fevereiro 15 by Caronte
interessante seria também,ignorar a interferencia que tem na frente,porém da metade do dano no da frente,e todo o dano no de trás.
tipo o orc da frente recebe 50 de dano e o de trás 100,um exemplo,ficaria show,rep+
dai é claro,sem interferencia,como na sua giff.
Edited Fevereiro 15 by kaleudd
info
Group: Marquês
Joined: 25/09/10
Posts: 1.3k
Reputation: +446
Gender: Masculino

interessante seria também,ignorar a interferencia que tem na frente,porém da metade do dano no da frente,e todo o dano no de trás.
tipo o orc da frente recebe 50 de dano e o de trás 100,um exemplo,ficaria show,rep+
dai é claro,sem interferencia,como na sua giff.
Boa ideia, também seria interessante puxar os dois kkkkk.
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

@@Caronte, acho q ele quis dizer estilo o Q da miss fortune no league of legends... qnd vc dá um tiro e mata o bixo o tiro rebate com dobro de dano se tiver alguém atrás (seguindo a direção), ficaria muito legal ter algo nesse sentido tb.
info
Group: Herói
Joined: 25/02/07
Posts: 859
Reputation: +331
Gender: Masculino

Muito bom skulls, essa função pode ajudar até em fazer um getCreaturePathTo(...) por lua...
Script muito bom.
Realmente, da para usar. Ja existe uma função de path do wolf, mas talvez com essa logica fique bom também rs. O grande problema é que, para paths, você não checa só na direção que você quer andar e sim em todas, caso a sua esteja sem passagem, né? xD
interessante seria também,ignorar a interferencia que tem na frente,porém da metade do dano no da frente,e todo o dano no de trás.
tipo o orc da frente recebe 50 de dano e o de trás 100,um exemplo,ficaria show,rep+
dai é claro,sem interferencia,como na sua giff.
Sim, da pra fazer muita coisa. Da para fazer damage reduction tb (quanto mais alvos a magia atravessar, menos dano ela da).
@@Caronte, acho q ele quis dizer estilo o Q da miss fortune no league of legends... qnd vc dá um tiro e mata o bixo o tiro rebate com dobro de dano se tiver alguém atrás (seguindo a direção), ficaria muito legal ter algo nesse sentido tb.
Da tambem, basta a spell ser com range fixo (por exemplo sempre que usar ela vai do player até a direção que ele mandou 5 sqm para frente) e fazer a checagem. Se tiver uma interferencia ativa o combat1 se tiver duas o combat2 ^^





info
Group: Herói
Joined: 25/02/07
Posts: 859
Reputation: +331
Gender: Masculino
Boa noite galera, tudo bem?
Venho compartilhar com vocês hoje um sisteminha que desenvolvi para as magias do tipo "shoot'. Foi feito inicialmente para funcionar com magias que usam a posição do mouse como referência e adaptei para cipclientes poderem usar em runas e magias de tiro.
O funcionamento do sistema é simples: Ao usar uma runa ou castar uma magia "shoot" com esse sistema criaturas e objetos no caminho irão interferir na trajetória, isto é, receberão o combate no lugar do alvo inicial.
Ilustrativo:
Bom, vamos ao que interessa.
Vá em data/lib/ e crie um novo arquivo chamado spellsLib.lua (pode-se utilizar também o arquivo spells.lua contido em data/spells/lib).
Dentro dele inclua as seguintes funções:
IsWalkable (by Nord)
function isWalkable(pos, creature, proj, pz)-- by Nord if getTileThingByPos({x = pos.x, y = pos.y, z = pos.z, stackpos = 0}).itemid == 0 then return false end if getTopCreature(pos).uid > 0 and creature then return false end if getTileInfo(pos).protection and pz then return false, true end local n = not proj and 3 or 2 for i = 0, 255 do pos.stackpos = i local tile = getTileThingByPos(pos) if tile.itemid ~= 0 and not isCreature(tile.uid) then if hasProperty(tile.uid, n) or hasProperty(tile.uid, 7) then return false end end end return true endfunction getPositionsAround(pos) return { [1] = {x = pos.x, y = pos.y - 1, z = pos.z, stackpos = 0}, [2] = {x = pos.x + 1, y = pos.y - 1, z = pos.z, stackpos = 0}, [3] = {x = pos.x + 1, y = pos.y, z = pos.z, stackpos = 0}, [4] = {x = pos.x + 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [5] = {x = pos.x, y = pos.y + 1, z = pos.z, stackpos = 0}, [6] = {x = pos.x - 1, y = pos.y + 1, z = pos.z, stackpos = 0}, [7] = {x = pos.x - 1, y = pos.y, z = pos.z, stackpos = 0}, [8] = {x = pos.x - 1, y = pos.y - 1, z = pos.z, stackpos = 0} } endCheckInterceptions (by Skulls)
SetSpellTarget (by Skulls)
Feito isso, está tudo configurado. Basta agora adicionar às magias que você queira.
Abra o .lua da magia, por exemplo death strike.lua.
Lá você terá, entre outras coisas, a função onCastSpell como abaixo:
Substitua isso por:
Um exemplo de magia que utiliza esse sistema: http://www.xtibia.com/forum/topic/239460-exori-grab-vis/
@@Daniel, na verdade move pra mim pra Downloads Spells, acho que seria mais correto.
Edited Março 21 by Skulls